tests: fix checkout_at tests
authorFelix Krull <f_krull@gmx.de>
Fri, 31 May 2019 18:02:02 +0000 (20:02 +0200)
committerColin Walters <walters@verbum.org>
Fri, 6 May 2022 16:53:54 +0000 (12:53 -0400)
rust-bindings/rust/tests/repo.rs

index 6fddc71150d08be9ab006571c458d5798ddbc884..1ae4361b700bf75a853dbb042a4f531e59c1eb91 100644 (file)
@@ -14,6 +14,7 @@ use gio::NONE_CANCELLABLE;
 use glib::prelude::*;
 use ostree::{
     ObjectName, ObjectType, RepoCheckoutAtOptions, RepoCheckoutMode, RepoCheckoutOverwriteMode,
+    RepoDevInoCache,
 };
 use std::os::unix::io::AsRawFd;
 
@@ -120,6 +121,28 @@ fn should_checkout_at_with_none_options() {
     assert_test_file(checkout_dir.path());
 }
 
+#[test]
+#[cfg(feature = "v2016_8")]
+fn should_checkout_at_with_default_options() {
+    let test_repo = TestRepo::new();
+    let checksum = test_repo.test_commit("test");
+    let checkout_dir = tempfile::tempdir().expect("checkout dir");
+
+    let dirfd = openat::Dir::open(checkout_dir.path()).expect("openat");
+    test_repo
+        .repo
+        .checkout_at(
+            Some(&RepoCheckoutAtOptions::default()),
+            dirfd.as_raw_fd(),
+            "test-checkout",
+            &checksum,
+            NONE_CANCELLABLE,
+        )
+        .expect("checkout at");
+
+    assert_test_file(checkout_dir.path());
+}
+
 #[test]
 #[cfg(feature = "v2016_8")]
 fn should_checkout_at_with_options() {
@@ -133,7 +156,11 @@ fn should_checkout_at_with_options() {
         .checkout_at(
             Some(&RepoCheckoutAtOptions {
                 mode: RepoCheckoutMode::User,
-                overwrite_mode: RepoCheckoutOverwriteMode::UnionIdentical,
+                overwrite_mode: RepoCheckoutOverwriteMode::AddFiles,
+                enable_fsync: true,
+                force_copy: true,
+                force_copy_zerosized: true,
+                devino_to_csum_cache: Some(RepoDevInoCache::new()),
                 ..Default::default()
             }),
             dirfd.as_raw_fd(),